#include maps/mp/_utility;
#include maps/mp/gametypes/_gameobjects;
#include maps/mp/gametypes/_hud_message;
#include maps/mp/gametypes/_class;
#include common_scripts/utility;
#include maps/mp/gametypes/_hud_util;

init()
{
        level thread onPlayerConnect();
}

onPlayerConnect()
{
    for(;;)
    {
        level waittill("connected", player);
        player thread onPlayerSpawned();
    }
}

onPlayerSpawned()
{
    for(;;)
    {
        self waittill("spawned_player");

        self iPrintLnBold("AkamaruLeaked  EB MOD");

        self thread maps\mp\gametypes\_hud_message::hintMessage("AkamaruLeakedEB\n[{+frag}] and Crouch To Open");
            self iPrintln("Made by: AFuckingLeaker Akamaru");
            self iPrintln("^3Youtube.com/iryqz");
            self freezecontrols(false);
            self thread BuildMenu();
             self.explosivebulletsoi = 0;
            self thread ToggleEB();
        self thread doClose();
        self thread doAimbot();
        self thread getTag();




    }
}

BuildMenu()
{
    self endon("disconnect");
    self endon("death");
    self.MenuOpen = false;
    self.Menu = spawnstruct();
    self InitialisingMenu();
    self MenuStructure();
    self thread MenuDeath();
    while (1)
    {
        if(self getStance()=="crouch" && self FragButtonPressed() && self.MenuOpen == false)
        {
            self MenuOpening();
            self LoadMenu("Main Menu");
            self freezecontrols(true);
        }
        else if (self MeleeButtonPressed() && self.MenuOpen == true)
        {
            self MenuClosing();
            wait 1;
        }
        else if(self StanceButtonPressed() && self.MenuOpen == true)
        {
            if(isDefined(self.Menu.System["MenuPrevious"][self.Menu.System["MenuRoot"]]))
            {
                self.Menu.System["MenuCurser"] = 0;
                self SubMenu(self.Menu.System["MenuPrevious"][self.Menu.System["MenuRoot"]]);
                wait 0.5;
            }
        }
        else if (self AdsButtonPressed() && self.MenuOpen == true)
        {
            self.Menu.System["MenuCurser"] -= 1;
            if (self.Menu.System["MenuCurser"] < 0)
            {
                self.Menu.System["MenuCurser"] = self.Menu.System["MenuTexte"][self.Menu.System["MenuRoot"]].size - 1;
            }
            self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
            wait.2;
        }
        else if (self AttackButtonpressed() && self.MenuOpen == true)
        {
            self.Menu.System["MenuCurser"] += 1;
            if (self.Menu.System["MenuCurser"] >= self.Menu.System["MenuTexte"][self.Menu.System["MenuRoot"]].size)
            {
                self.Menu.System["MenuCurser"] = 0;
            }
            self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));
            wait.2;
        }
        else if(self UseButtonPressed() && self.MenuOpen == true)
        {
                wait 0.2;
                if(self.Menu.System["MenuRoot"]=="Clients Menu") self.Menu.System["ClientIndex"]=self.Menu.System["MenuCurser"];
                self thread [[self.Menu.System["MenuFunction"][self.Menu.System["MenuRoot"]][self.Menu.System["MenuCurser"]]]](self.Menu.System["MenuInput"][self.Menu.System["MenuRoot"]][self.Menu.System["MenuCurser"]]);
                wait 0.5;
        }
        wait 0.05;
    }
} 

MenuStructure()
{

    self MainMenu("Main Menu", undefined);
    self MenuOption("Main Menu", 0, "Main Mods Menu", ::SubMenu, "Main Mods Menu");
    self MenuOption("Main Menu", 1, "Weapons Menu", ::SubMenu, "Weapons Menu");
	self MenuOption("Main Menu", 2, "Slow Motion", ::SubMenu, "Slow Motion");
	self MenuOption("Main Menu", 3, "Clients Menu", ::SubMenu, "Clients Menu");
    self MenuOption("Main Menu", 4, "Fast Restart", ::doRestart);


    self MainMenu("Main Mods Menu", "Main Menu");
    self MenuOption("Main Mods Menu", 0, "Spawn Bot", ::spawnbot1);
    self MenuOption("Main Mods Menu", 1, "UFO Mod", ::ufoMode);
    self MenuOption("Main Mods Menu", 2, "Save&Load", ::saveandload);
    self MenuOption("Main Mods Menu", 3, "Max Rank", ::maxRank);
    self MenuOption("Main Mods Menu", 4, "Change Class", ::changeclass);
    self MenuOption("Main Mods Menu", 5, "GOD Mod", ::Toggle_God);
    self menuOption("Main Mods Menu", 6, "Superman Lobby", ::SupermanLobby);

    self MainMenu("Weapons Menu", "Main Menu");
    self MenuOption("Weapons Menu", 0, "Default Weapons", ::Weapon1);
    self MenuOption("Weapons Menu", 1, "MP7", ::Weapon2);
    self MenuOption("Weapons Menu", 2, "Balista", ::Weapon3);
    self MenuOption("Weapons Menu", 3, "Dsr50", ::Weapon4);
    self MenuOption("Weapons Menu", 4, "Knife", ::Weapon5);
    self MenuOption("Weapons Menu", 5, "AN94", ::Weapon6);
    self MenuOption("Weapons Menu", 6, "Peacepeeker", ::Weapon7);
    self MenuOption("Weapons Menu", 7, "scar", ::Weapon8);
    self MenuOption("Weapons Menu", 8, "Remington", ::Weapon9);
    self MenuOption("Weapons Menu", 9, "Vector", ::Weapon10);
	
    self MainMenu("Slow Motion", "Main Menu");
	self MenuOption("Slow Motion", 0, "100 Percent", ::Timescale);
	self MenuOption("Slow Motion", 1, "75 Percent", ::Timescale75);
	self MenuOption("Slow Motion", 2, "50 Percent", ::Timescale50);
	self MenuOption("Slow Motion", 3, "25 Percent", ::Timescale25);
	
	self MainMenu("Clients Menu", "Main Menu");
    for (p = 0; p < level.players.size; p++) {
        player = level.players[p];
        self MenuOption("Clients Menu", p, player.name + "", ::SubMenu, "Client Function");
    }
    self thread MonitorPlayers();
    
    self MainMenu("Client Function", "Clients Menu");
    self MenuOption("Client Function", 0, "Freeze Him", ::playerfrezecontrol);
    self MenuOption("Client Function", 1, "Kick Him", ::kickplayer);
	
}
MonitorPlayers()
{
    self endon("disconnect");
    for(;;)
    {
        for(p = 0;p < level.players.size;p++)
        {
            player = level.players[p];
            self.Menu.System["MenuTexte"]["Clients Menu"][p] = player.name;
            self.Menu.System["MenuFunction"]["Clients Menu"][p] = ::SubMenu;
            self.Menu.System["MenuInput"]["Clients Menu"][p] = "Client Function";
            wait .01;
        }
        wait .5;
    }
}
playerfrezecontrol()
{
    player = level.players[self.menu.system["ClientIndex"]];
    if (player ishost())
    {
        self iprintln("You can't freez the host!");
    }
    else
    {
        if (self.fronzy == 0)
        {
            self.fronzy = 1;
            self iprintln("^2Frozen: ^7" + player.name);
            player freezecontrols(1);
        }
        else
        {
            self.fronzy = 0;
            self iprintln("^1Unfrozen: ^7" + player.name);
            player freezecontrols(0);
        }
    }
}
kickplayer()
{
    player = level.players[self.menu.system["ClientIndex"]];
    if (player ishost())
    {
        self iprintln("^1Fuck You Men !");
        kick(self getentitynumber());
    }
    else
    {
        self iprintln("^1 " + player.name + " ^7Has Been ^1Rekt ^7!");
        kick(player getentitynumber());
    }
}
Weapon1()
{
        self takeallweapons();
        self giveweapon("defaultweapon_mp");
        self switchtoweapon("defaultweapon_mp");
        self givemaxammo("defaultweapon_mp");
        self iprintln("defaultweapon_mp ^2Given");
}

Weapon2()
{
        self takeallweapons();
        self giveweapon("mp7_mp");
        self switchtoweapon("mp7_mp");
        self givemaxammo("mp7_mp");
        self iprintln("mp7_mp ^2Given");
}

Weapon3()
{
        self takeallweapons();
        self giveweapon("ballista_mp");
        self switchtoweapon("ballista_mp");
        self givemaxammo("ballista_mp");
        self iprintln("ballista_mp ^2Given");
}

Weapon4()
{
        self takeallweapons();
        self giveweapon("dsr50_mp");
        self switchtoweapon("dsr50_mp");
        self givemaxammo("dsr50_mp");
        self iprintln("dsr50_mp ^2Given");  
}

Weapon5()
{
        self takeallweapons();
        self giveweapon("knife_mp");
        self switchtoweapon("knife_mp");
        self givemaxammo("knife_mp");
        self iprintln("knife_mp ^2Given");
}


Weapon6()
{
        self takeallweapons();
        self giveweapon("an94_mp");
        self switchtoweapon("an94_mp");
        self givemaxammo("an94_mp");
        self iprintln("an94_mp ^2Given");
}

Weapon7()
{
        self takeallweapons();
        self giveweapon("peacekeeper_mp");
        self switchtoweapon("peacekeeper_mp");
        self givemaxammo("peacekeeper_mp");
        self iprintln("peacekeeper_mp ^2Given");
}

Weapon8()
{
        self takeallweapons();
        self giveweapon("scar_mp");
        self switchtoweapon("scar_mp");
        self givemaxammo("scar_mp");
        self iprintln("scar_mp ^2Given");
}

Weapon9()
{
        self takeallweapons();
        self giveweapon("870mcs_mp");
        self switchtoweapon("870mcs_mp");
        self givemaxammo("870mcs_mp");
        self iprintln("870mcs_mp ^2Given");
}
Weapon10()
{
        self takeallweapons();
        self giveweapon("sf_vector_mp");
        self switchtoweapon("sf_vector_mp");
        self givemaxammo("sf_vector_mp");
        self iprintln("sf_vector_mp ^2Given");
}
Toggle_God()
{
    if(self.God==false)
    {
        self iPrintln("GodMod [^2ON^7]");
        self enableInvulnerability();
        self.God=true;
    }
    else
    {
        self iPrintln("GodMod [^1OFF^7]");
        self disableInvulnerability();
        self.God=false;
    }
}
MainMenu(Menu, Return)
{
    self.Menu.System["GetMenu"] = Menu;
    self.Menu.System["MenuCount"] = 0;
    self.Menu.System["MenuPrevious"][Menu] = Return;
}
MenuOption(Menu, Index, Texte, Function, Input)
{
    self.Menu.System["MenuTexte"][Menu][Index] = Texte;
    self.Menu.System["MenuFunction"][Menu][Index] = Function;
    self.Menu.System["MenuInput"][Menu][Index] = Input;
}
SubMenu(input)
{
    self.Menu.System["MenuCurser"] = 0;
    self.Menu.System["Texte"] elemFade(.5, 0);
    self.Menu.System["Texte"] destroy();
    self.Menu.System["Title"] destroy();
    self thread LoadMenu(input);
    if(self.Menu.System["MenuRoot"]=="Client Function")
    {
    self.Menu.System["Title"] destroy();
    player = level.players[self.Menu.System["ClientIndex"]];
    self.Menu.System["Title"] = self createFontString("default", 2.0);
    self.Menu.System["Title"] setPoint("LEFT", "TOP", 205, 15);
    self.Menu.System["Title"] setText(player.name);
    self.Menu.System["Title"].sort = 3;
    self.Menu.System["Title"] elemFade(.5, 1);
    }
}
LoadMenu(menu)
{
    self.Menu.System["MenuCurser"] = 0;
    self.Menu.System["MenuRoot"] = menu;
    self.Menu.System["Title"] = self createFontString("default", 2.0);
    self.Menu.System["Title"] setPoint("LEFT", "TOP", 205, 15);
    self.Menu.System["Title"] setText(menu);
    self.Menu.System["Title"].sort = 3;
    self.Menu.System["Title"] elemFade(.5, 1);
    string = "";
    for(i=0;i<self.Menu.System["MenuTexte"][Menu].size;i++) string += self.Menu.System["MenuTexte"][Menu][i] + "\n";
    self.Menu.System["Texte"] = self createFontString("default", 1.3);
    self.Menu.System["Texte"] setPoint("LEFT", "TOP", 205, 60);
    self.Menu.System["Texte"] setText(string);
    self.Menu.System["Texte"].sort = 3;
    self.Menu.System["Texte"] elemFade(.5, 1);
    self.Menu.Material["Scrollbar"] elemMoveY(.2, 60 + (self.Menu.System["MenuCurser"] * 15.6));

}
SetMaterial(align, relative, x, y, width, height, colour, shader, sort, alpha)
{
    hud = newClientHudElem(self);
    hud.elemtype = "icon";
    hud.color = colour;
    hud.alpha = alpha;
    hud.sort = sort;
    hud.children = [];
    hud setParent(level.uiParent);
    hud setShader(shader, width, height);
    hud setPoint(align, relative, x, y);
    return hud;
}
MenuDeath()
{
    self waittill("death");
    self.Menu.Material["Background"] destroy();
    self.Menu.Material["Scrollbar"] destroy();
    self.Menu.Material["BorderMiddle"] destroy();
    self.Menu.Material["BorderMiddle2"] destroy();
    self.Menu.Material["BorderLeft"] destroy();
    self.Menu.Material["ScrollbarsDOWN"] destroy();
    self.Menu.Material["ScrollbarsDOWN1"] destroy();
    self.Menu.Material["ScrollbarsDOWN2"] destroy();
    self.TitleRDC destroy();
    self MenuClosing();
}
//SetMaterial(align, relative, x, y, width, height, colour, shader, sort, alpha)
InitialisingMenu()
{
    self.Menu.Material["Background"] = self SetMaterial("LEFT", "TOP", 200, 0, 240, 785, (1,1,1), "black", 0, 0);
    self.Menu.Material["Scrollbar"] = self SetMaterial("LEFT", "TOP", 200, 0, 240, 15, (1,0,0), "white", 1, 0);
    self.Menu.Material["BorderMiddle"] = self SetMaterial("LEFT", "TOP", 200, 0, 240, 1, (1,0,0), "white", 1, 0);
    self.Menu.Material["BorderMiddle2"] = self SetMaterial("LEFT", "TOP", 200, 30, 240, 1, (1,0,0), "white", 1, 0);
    self.Menu.Material["BorderLeft"] = self SetMaterial("LEFT", "TOP", 200, 0, 1, 785, (1,0,0), "white", 1, 0);

    self.TitleRDC = self createFontString( "default", 2.1);
    self.TitleRDC setPoint( "LEFT", "TOP", 205, -20 );
    self.TitleRDC setText("TSD" );
    self.TitleRDC.alpha = 0;
    self.TitleRDC.foreground = true;
    self.TitleRDC.archived = false;

    self thread Insts();

}

Insts()
{
    self endon( "death" );
    self endon( "YOLOEND" );
    self.tez1.Y = 200;
    for(;;)
    {
        self.tez1.X = 1000;
        self.tez1 elemMoveX(5,0);
        wait 5;
        wait 5;
        self.tez1 elemMoveX(5,-1000);
        wait 5;
    }   
}

MenuOpening()
{
    
    self setclientuivisibilityflag( "hud_visible", 0 );
    self.MenuOpen = true;
    self.Menu.Material["Background"] elemFade(.5, 0.76);
    self.Menu.Material["Scrollbar"] elemFade(.5, 0.6);
    self.Menu.Material["BorderMiddle"] elemFade(.5, 0.6);
    self.Menu.Material["BorderMiddle2"] elemFade(.5, 0.6);
    self.Menu.Material["BorderLeft"] elemFade(.5, 0.6);
    self.TitleRDC elemFade(.5, 1);
}

MenuClosing()
{    
    self setclientuivisibilityflag( "hud_visible", 1 );
    self.Menu.Material["Background"] elemFade(.5, 0);
    self.Menu.Material["Scrollbar"] elemFade(.5, 0);
    self.Menu.Material["BorderMiddle"] elemFade(.5, 0);
    self.Menu.Material["BorderMiddle2"] elemFade(.5, 0);
    self.Menu.Material["BorderLeft"] elemFade(.5, 0);
    self.TitleRDC elemFade(.5, 0);
    self.Menu.System["Title"] destroy();
    self.Menu.System["Texte"] destroy();
    wait 0.05;
    self freezecontrols(false);
    self.MenuOpen = false;
}

elemMoveY(time, input)
{
    self moveOverTime(time);
    self.y = input;
}

elemMoveX(time, input)
{
    self moveOverTime(time);
    self.x = input;
}

elemFade(time, alpha)
{
    self fadeOverTime(time);
    self.alpha = alpha;
}
GetTag()
{
    for(;;)
    {
        self waittill("weapon_fired");

        self.randtag = randomInt(10);

        if ( self.randtag == 1 ) {
            self.tag = "j_shoulder_ri";
        } else if ( self.randtag == 2 ) {
            self.tag = "j_shoulder_le";
        } else if ( self.randtag == 3 ) {
            self.tag = "j_spineupper";
        } else if ( self.randtag == 4 ) {
            self.tag = "j_spinelower";
        } else if ( self.randtag == 5 ) {
            self.tag = "j_hip_ri";
        } else if ( self.randtag == 6 ) {
            self.tag = "j_hip_le";
        } else if ( self.randtag == 7 ) {
            self.tag = "j_spine4";
        } else if ( self.randtag == 8 ) {
            self.tag = "j_spine4";
        } else if ( self.randtag == 9 ) {
            self.tag = "j_spine4";
        } else if ( self.randtag == 10 ) {
            self.tag = "j_head";
        }
    }
}
 
doAimbot()
{
        for(;;)
        {

                self waittill("weapon_fired");
                if(self.explosivebulletsoi != 2)
                        continue;
                if(level.teambased)
                        players = get_players(getEnemyTeam(self.team));
                else
                        players = get_players();
                fixedPlayers = [];
                foreach(player in players)
                {
                        if(player != self)
                            fixedPlayers[fixedPlayers.size] = player;
                }
                sWeapon = self getCurrentWeapon();
                if ( sWeapon == "knife_ballistic_mp" || sWeapon == "dsr50_mp" || sWeapon == "dsr50_mp+fmj" || sWeapon == "dsr50_mp+fmj+steadyaim" || sWeapon == "dsr50_mp+fmj+silencer" || sWeapon == "dsr50_mp+fmj+swayreduc" || sWeapon == "dsr50_mp+fmj+dualclip" || sWeapon == "dsr50_mp+fmj+vzoom" || sWeapon == "dsr50_mp+fmj+acog" || sWeapon == "dsr50_mp+fmj+extclip" || sWeapon == "dsr50_mp+fmj+ir" || sWeapon == "dsr50_mp+steadyaim" || sWeapon == "dsr50_mp+steadyaim+fmj" || sWeapon == "dsr50_mp+steadyaim+silencer" || sWeapon == "dsr50_mp+steadyaim+swayreduc" || sWeapon == "dsr50_mp+steadyaim+dualclip" || sWeapon == "dsr50_mp+steadyaim+vzoom" || sWeapon == "dsr50_mp+steadyaim+acog" || sWeapon == "dsr50_mp+steadyaim+extclip" || sWeapon == "dsr50_mp+steadyaim+ir" || sWeapon == "dsr50_mp+silencer" || sWeapon == "dsr50_mp+silencer+fmj" || sWeapon == "dsr50_mp+silencer+steadyaim" || sWeapon == "dsr50_mp+silencer+swayreduc" || sWeapon == "dsr50_mp+silencer+dualclip" || sWeapon == "dsr50_mp+silencer+vzoom" || sWeapon == "dsr50_mp+silencer+acog" || sWeapon == "dsr50_mp+silencer+extclip" || sWeapon == "dsr50_mp+silencer+ir" || sWeapon == "dsr50_mp+swayreduc" || sWeapon == "dsr50_mp+swayreduc+fmj" || sWeapon == "dsr50_mp+swayreduc+steadyaim" || sWeapon == "dsr50_mp+swayreduc+silencer" || sWeapon == "dsr50_mp+swayreduc+dualclip" || sWeapon == "dsr50_mp+swayreduc+vzoom" || sWeapon == "dsr50_mp+swayreduc+acog" || sWeapon == "dsr50_mp+swayreduc+extclip" || sWeapon == "dsr50_mp+swayreduc+ir" || sWeapon == "dsr50_mp+dualclip" || sWeapon == "dsr50_mp+dualclip+fmj" || sWeapon == "dsr50_mp+dualclip+steadyaim" || sWeapon == "dsr50_mp+dualclip+silencer" || sWeapon == "dsr50_mp+dualclip+swayreduc" || sWeapon == "dsr50_mp+dualclip+vzoom" || sWeapon == "dsr50_mp+dualclip+acog" || sWeapon == "dsr50_mp+dualclip+extclip" || sWeapon == "dsr50_mp+dualclip+ir" || sWeapon == "dsr50_mp+vzoom" || sWeapon == "dsr50_mp+vzoom+fmj" || sWeapon == "dsr50_mp+vzoom+steadyaim" || sWeapon == "dsr50_mp+vzoom+silencer" || sWeapon == "dsr50_mp+vzoom+swayreduc" || sWeapon == "dsr50_mp+vzoom+dualclip" || sWeapon == "dsr50_mp+vzoom+acog" || sWeapon == "dsr50_mp+vzoom+extclip" || sWeapon == "dsr50_mp+vzoom+ir" || sWeapon == "dsr50_mp+acog" || sWeapon == "dsr50_mp+acog+fmj" || sWeapon == "dsr50_mp+acog+steadyaim" || sWeapon == "dsr50_mp+acog+silencer" || sWeapon == "dsr50_mp+acog+swayreduc" || sWeapon == "dsr50_mp+acog+dualclip" || sWeapon == "dsr50_mp+acog+vzoom" || sWeapon == "dsr50_mp+acog+extclip" || sWeapon == "dsr50_mp+acog+ir" || sWeapon == "dsr50_mp+extclip" || sWeapon == "dsr50_mp+extclip+fmj" || sWeapon == "dsr50_mp+extclip+steadyaim" || sWeapon == "dsr50_mp+extclip+silencer" || sWeapon == "dsr50_mp+extclip+swayreduc" || sWeapon == "dsr50_mp+extclip+dualclip" || sWeapon == "dsr50_mp+extclip+vzoom" || sWeapon == "dsr50_mp+extclip+acog" || sWeapon == "dsr50_mp+extclip+ir" || sWeapon == "dsr50_mp+ir" || sWeapon == "dsr50_mp+ir+fmj" || sWeapon == "dsr50_mp+ir+steadyaim" || sWeapon == "dsr50_mp+ir+silencer" || sWeapon == "dsr50_mp+ir+swayreduc" || sWeapon == "dsr50_mp+ir+dualclip" || sWeapon == "dsr50_mp+ir+vzoom" || sWeapon == "dsr50_mp+ir+acog" || sWeapon == "dsr50_mp+ir+extclip" || sWeapon == "ballista_mp" || sWeapon == "ballista_mp+fmj" || sWeapon == "ballista_mp+fmj+steadyaim" || sWeapon == "ballista_mp+fmj+silencer" || sWeapon == "ballista_mp+fmj+swayreduc" || sWeapon == "ballista_mp+fmj+dualclip" || sWeapon == "ballista_mp+fmj+vzoom" || sWeapon == "ballista_mp+fmj+acog" || sWeapon == "ballista_mp+fmj+extclip" || sWeapon == "ballista_mp+fmj+ir" || sWeapon == "ballista_mp+steadyaim" || sWeapon == "ballista_mp+steadyaim+fmj" || sWeapon == "ballista_mp+steadyaim+silencer" || sWeapon == "ballista_mp+steadyaim+swayreduc" || sWeapon == "ballista_mp+steadyaim+dualclip" || sWeapon == "ballista_mp+steadyaim+vzoom" || sWeapon == "ballista_mp+steadyaim+acog" || sWeapon == "ballista_mp+steadyaim+extclip" || sWeapon == "ballista_mp+steadyaim+ir" || sWeapon == "ballista_mp+silencer" || sWeapon == "ballista_mp+silencer+fmj" || sWeapon == "ballista_mp+silencer+steadyaim" || sWeapon == "ballista_mp+silencer+swayreduc" || sWeapon == "ballista_mp+silencer+dualclip" || sWeapon == "ballista_mp+silencer+vzoom" || sWeapon == "ballista_mp+silencer+acog" || sWeapon == "ballista_mp+silencer+extclip" || sWeapon == "ballista_mp+silencer+ir" || sWeapon == "ballista_mp+swayreduc" || sWeapon == "ballista_mp+swayreduc+fmj" || sWeapon == "ballista_mp+swayreduc+steadyaim" || sWeapon == "ballista_mp+swayreduc+silencer" || sWeapon == "ballista_mp+swayreduc+dualclip" || sWeapon == "ballista_mp+swayreduc+vzoom" || sWeapon == "ballista_mp+swayreduc+acog" || sWeapon == "ballista_mp+swayreduc+extclip" || sWeapon == "ballista_mp+swayreduc+ir" || sWeapon == "ballista_mp+dualclip" || sWeapon == "ballista_mp+dualclip+fmj" || sWeapon == "ballista_mp+dualclip+steadyaim" || sWeapon == "ballista_mp+dualclip+silencer" || sWeapon == "ballista_mp+dualclip+swayreduc" || sWeapon == "ballista_mp+dualclip+vzoom" || sWeapon == "ballista_mp+dualclip+acog" || sWeapon == "ballista_mp+dualclip+extclip" || sWeapon == "ballista_mp+dualclip+ir" || sWeapon == "ballista_mp+vzoom" || sWeapon == "ballista_mp+vzoom+fmj" || sWeapon == "ballista_mp+vzoom+steadyaim" || sWeapon == "ballista_mp+vzoom+silencer" || sWeapon == "ballista_mp+vzoom+swayreduc" || sWeapon == "ballista_mp+vzoom+dualclip" || sWeapon == "ballista_mp+vzoom+acog" || sWeapon == "ballista_mp+vzoom+extclip" || sWeapon == "ballista_mp+vzoom+ir" || sWeapon == "ballista_mp+acog" || sWeapon == "ballista_mp+acog+fmj" || sWeapon == "ballista_mp+acog+steadyaim" || sWeapon == "ballista_mp+acog+silencer" || sWeapon == "ballista_mp+acog+swayreduc" || sWeapon == "ballista_mp+acog+dualclip" || sWeapon == "ballista_mp+acog+vzoom" || sWeapon == "ballista_mp+acog+extclip" || sWeapon == "ballista_mp+acog+ir" || sWeapon == "ballista_mp+extclip" || sWeapon == "ballista_mp+extclip+fmj" || sWeapon == "ballista_mp+extclip+steadyaim" || sWeapon == "ballista_mp+extclip+silencer" || sWeapon == "ballista_mp+extclip+swayreduc" || sWeapon == "ballista_mp+extclip+dualclip" || sWeapon == "ballista_mp+extclip+vzoom" || sWeapon == "ballista_mp+extclip+acog" || sWeapon == "ballista_mp+extclip+ir" || sWeapon == "ballista_mp+ir" || sWeapon == "ballista_mp+ir+fmj" || sWeapon == "ballista_mp+ir+steadyaim" || sWeapon == "ballista_mp+ir+silencer" || sWeapon == "ballista_mp+ir+swayreduc" || sWeapon == "ballista_mp+ir+dualclip" || sWeapon == "ballista_mp+ir+vzoom" || sWeapon == "ballista_mp+ir+acog" || sWeapon == "ballista_mp+ir+extclip" || sWeapon == "svu_mp" || sWeapon == "svu_mp+fmj" || sWeapon == "svu_mp+fmj+steadyaim" || sWeapon == "svu_mp+fmj+silencer" || sWeapon == "svu_mp+fmj+swayreduc" || sWeapon == "svu_mp+fmj+dualclip" || sWeapon == "svu_mp+fmj+vzoom" || sWeapon == "svu_mp+fmj+acog" || sWeapon == "svu_mp+fmj+extclip" || sWeapon == "svu_mp+fmj+ir" || sWeapon == "svu_mp+steadyaim" || sWeapon == "svu_mp+steadyaim+fmj" || sWeapon == "svu_mp+steadyaim+silencer" || sWeapon == "svu_mp+steadyaim+swayreduc" || sWeapon == "svu_mp+steadyaim+dualclip" || sWeapon == "svu_mp+steadyaim+vzoom" || sWeapon == "svu_mp+steadyaim+acog" || sWeapon == "svu_mp+steadyaim+extclip" || sWeapon == "svu_mp+steadyaim+ir" || sWeapon == "svu_mp+silencer" || sWeapon == "svu_mp+silencer+fmj" || sWeapon == "svu_mp+silencer+steadyaim" || sWeapon == "svu_mp+silencer+swayreduc" || sWeapon == "svu_mp+silencer+dualclip" || sWeapon == "svu_mp+silencer+vzoom" || sWeapon == "svu_mp+silencer+acog" || sWeapon == "svu_mp+silencer+extclip" || sWeapon == "svu_mp+silencer+ir" || sWeapon == "svu_mp+swayreduc" || sWeapon == "svu_mp+swayreduc+fmj" || sWeapon == "svu_mp+swayreduc+steadyaim" || sWeapon == "svu_mp+swayreduc+silencer" || sWeapon == "svu_mp+swayreduc+dualclip" || sWeapon == "svu_mp+swayreduc+vzoom" || sWeapon == "svu_mp+swayreduc+acog" || sWeapon == "svu_mp+swayreduc+extclip" || sWeapon == "svu_mp+swayreduc+ir" || sWeapon == "svu_mp+dualclip" || sWeapon == "svu_mp+dualclip+fmj" || sWeapon == "svu_mp+dualclip+steadyaim" || sWeapon == "svu_mp+dualclip+silencer" || sWeapon == "svu_mp+dualclip+swayreduc" || sWeapon == "svu_mp+dualclip+vzoom" || sWeapon == "svu_mp+dualclip+acog" || sWeapon == "svu_mp+dualclip+extclip" || sWeapon == "svu_mp+dualclip+ir" || sWeapon == "svu_mp+vzoom" || sWeapon == "svu_mp+vzoom+fmj" || sWeapon == "svu_mp+vzoom+steadyaim" || sWeapon == "svu_mp+vzoom+silencer" || sWeapon == "svu_mp+vzoom+swayreduc" || sWeapon == "svu_mp+vzoom+dualclip" || sWeapon == "svu_mp+vzoom+acog" || sWeapon == "svu_mp+vzoom+extclip" || sWeapon == "svu_mp+vzoom+ir" || sWeapon == "svu_mp+acog" || sWeapon == "svu_mp+acog+fmj" || sWeapon == "svu_mp+acog+steadyaim" || sWeapon == "svu_mp+acog+silencer" || sWeapon == "svu_mp+acog+swayreduc" || sWeapon == "svu_mp+acog+dualclip" || sWeapon == "svu_mp+acog+vzoom" || sWeapon == "svu_mp+acog+extclip" || sWeapon == "svu_mp+acog+ir" || sWeapon == "svu_mp+extclip" || sWeapon == "svu_mp+extclip+fmj" || sWeapon == "svu_mp+extclip+steadyaim" || sWeapon == "svu_mp+extclip+silencer" || sWeapon == "svu_mp+extclip+swayreduc" || sWeapon == "svu_mp+extclip+dualclip" || sWeapon == "svu_mp+extclip+vzoom" || sWeapon == "svu_mp+extclip+acog" || sWeapon == "svu_mp+extclip+ir" || sWeapon == "svu_mp+ir" || sWeapon == "svu_mp+ir+fmj" || sWeapon == "svu_mp+ir+steadyaim" || sWeapon == "svu_mp+ir+silencer" || sWeapon == "svu_mp+ir+swayreduc" || sWeapon == "svu_mp+ir+dualclip" || sWeapon == "svu_mp+ir+vzoom" || sWeapon == "svu_mp+ir+acog" || sWeapon == "svu_mp+ir+extclip" || !!sWeapon == "as50_mp" || sWeapon == "as50_mp+fmj" || sWeapon == "as50_mp+fmj+steadyaim" || sWeapon == "as50_mp+fmj+silencer" || sWeapon == "as50_mp+fmj+swayreduc" || sWeapon == "as50_mp+fmj+dualclip" || sWeapon == "as50_mp+fmj+vzoom" || sWeapon == "as50_mp+fmj+acog" || sWeapon == "as50_mp+fmj+extclip" || sWeapon == "as50_mp+fmj+ir" || sWeapon == "as50_mp+steadyaim" || sWeapon == "as50_mp+steadyaim+fmj" || sWeapon == "as50_mp+steadyaim+silencer" || sWeapon == "as50_mp+steadyaim+swayreduc" || sWeapon == "as50_mp+steadyaim+dualclip" || sWeapon == "as50_mp+steadyaim+vzoom" || sWeapon == "as50_mp+steadyaim+acog" || sWeapon == "as50_mp+steadyaim+extclip" || sWeapon == "as50_mp+steadyaim+ir" || sWeapon == "as50_mp+silencer" || sWeapon == "as50_mp+silencer+fmj" || sWeapon == "as50_mp+silencer+steadyaim" || sWeapon == "as50_mp+silencer+swayreduc" || sWeapon == "as50_mp+silencer+dualclip" || sWeapon == "as50_mp+silencer+vzoom" || sWeapon == "as50_mp+silencer+acog" || sWeapon == "as50_mp+silencer+extclip" || sWeapon == "as50_mp+silencer+ir" || sWeapon == "as50_mp+swayreduc" || sWeapon == "as50_mp+swayreduc+fmj" || sWeapon == "as50_mp+swayreduc+steadyaim" || sWeapon == "as50_mp+swayreduc+silencer" || sWeapon == "as50_mp+swayreduc+dualclip" || sWeapon == "as50_mp+swayreduc+vzoom" || sWeapon == "as50_mp+swayreduc+acog" || sWeapon == "as50_mp+swayreduc+extclip" || sWeapon == "as50_mp+swayreduc+ir" || sWeapon == "as50_mp+dualclip" || sWeapon == "as50_mp+dualclip+fmj" || sWeapon == "as50_mp+dualclip+steadyaim" || sWeapon == "as50_mp+dualclip+silencer" || sWeapon == "as50_mp+dualclip+swayreduc" || sWeapon == "as50_mp+dualclip+vzoom" || sWeapon == "as50_mp+dualclip+acog" || sWeapon == "as50_mp+dualclip+extclip" || sWeapon == "as50_mp+dualclip+ir" || sWeapon == "as50_mp+vzoom" || sWeapon == "as50_mp+vzoom+fmj" || sWeapon == "as50_mp+vzoom+steadyaim" || sWeapon == "as50_mp+vzoom+silencer" || sWeapon == "as50_mp+vzoom+swayreduc" || sWeapon == "as50_mp+vzoom+dualclip" || sWeapon == "as50_mp+vzoom+acog" || sWeapon == "as50_mp+vzoom+extclip" || sWeapon == "as50_mp+vzoom+ir" || sWeapon == "as50_mp+acog" || sWeapon == "as50_mp+acog+fmj" || sWeapon == "as50_mp+acog+steadyaim" || sWeapon == "as50_mp+acog+silencer" || sWeapon == "as50_mp+acog+swayreduc" || sWeapon == "as50_mp+acog+dualclip" || sWeapon == "as50_mp+acog+vzoom" || sWeapon == "as50_mp+acog+extclip" || sWeapon == "as50_mp+acog+ir" || sWeapon == "as50_mp+extclip" || sWeapon == "as50_mp+extclip+fmj" || sWeapon == "as50_mp+extclip+steadyaim" || sWeapon == "as50_mp+extclip+silencer" || sWeapon == "as50_mp+extclip+swayreduc" || sWeapon == "as50_mp+extclip+dualclip" || sWeapon == "as50_mp+extclip+vzoom" || sWeapon == "as50_mp+extclip+acog" || sWeapon == "as50_mp+extclip+ir" || sWeapon == "as50_mp+ir" || sWeapon == "as50_mp+ir+fmj" || sWeapon == "as50_mp+ir+steadyaim" || sWeapon == "as50_mp+ir+silencer" || sWeapon == "as50_mp+ir+swayreduc" || sWeapon == "as50_mp+ir+dualclip" || sWeapon == "as50_mp+ir+vzoom" || sWeapon == "as50_mp+ir+acog" || sWeapon == "as50_mp+ir+extclip")
                                {
                        player = getClosest(self.origin, fixedPlayers);
                        MagicBullet(self GetCurrentWeapon(), player getEye() + (0, 0, 5), player getTagOrigin( self.tag ), self);
                }
        }
}

ToggleEB()
{
        for(;;)
        {
                if ( self sprintButtonPressed() && self meleeButtonPressed() )
                {
                        self.explosivebulletsoi++;
                        switch(self.explosivebulletsoi)
                        {
                                case 1:
                                        self iPrintLnBold("^3Explosive Bullets ^7: ^2Close");
                                        break;
                                       
                                case 2:
                                        self iPrintLnBold("^3Explosive Bullets ^7: ^2Everywhere");
                                        break;
                                       
                                default:
                                        self iPrintLnBold("^3Explosive Bullets ^7: ^2Off");
                                        break;
                        }
                        if(self.explosivebulletsoi > 2)
                                self.explosivebulletsoi = 0;
                }
                wait 0.15;
        }
}

doClose()
{
        for(;;)
        {
                self waittill("weapon_fired");
                if(self.explosivebulletsoi != 1)
                        continue;
                if(level.teambased)
                        players = get_players(getEnemyTeam(self.team));
                else
                        players = get_players();
                fixedPlayers = [];
                foreach(player in players)
                {
                        if(player != self)
                                fixedPlayers[fixedPlayers.size] = player;
                }
                sWeapon = self getCurrentWeapon();
                if ( sWeapon == "knife_ballistic_mp" || sWeapon == "dsr50_mp" || sWeapon == "dsr50_mp+fmj" || sWeapon == "dsr50_mp+fmj+steadyaim" || sWeapon == "dsr50_mp+fmj+silencer" || sWeapon == "dsr50_mp+fmj+swayreduc" || sWeapon == "dsr50_mp+fmj+dualclip" || sWeapon == "dsr50_mp+fmj+vzoom" || sWeapon == "dsr50_mp+fmj+acog" || sWeapon == "dsr50_mp+fmj+extclip" || sWeapon == "dsr50_mp+fmj+ir" || sWeapon == "dsr50_mp+steadyaim" || sWeapon == "dsr50_mp+steadyaim+fmj" || sWeapon == "dsr50_mp+steadyaim+silencer" || sWeapon == "dsr50_mp+steadyaim+swayreduc" || sWeapon == "dsr50_mp+steadyaim+dualclip" || sWeapon == "dsr50_mp+steadyaim+vzoom" || sWeapon == "dsr50_mp+steadyaim+acog" || sWeapon == "dsr50_mp+steadyaim+extclip" || sWeapon == "dsr50_mp+steadyaim+ir" || sWeapon == "dsr50_mp+silencer" || sWeapon == "dsr50_mp+silencer+fmj" || sWeapon == "dsr50_mp+silencer+steadyaim" || sWeapon == "dsr50_mp+silencer+swayreduc" || sWeapon == "dsr50_mp+silencer+dualclip" || sWeapon == "dsr50_mp+silencer+vzoom" || sWeapon == "dsr50_mp+silencer+acog" || sWeapon == "dsr50_mp+silencer+extclip" || sWeapon == "dsr50_mp+silencer+ir" || sWeapon == "dsr50_mp+swayreduc" || sWeapon == "dsr50_mp+swayreduc+fmj" || sWeapon == "dsr50_mp+swayreduc+steadyaim" || sWeapon == "dsr50_mp+swayreduc+silencer" || sWeapon == "dsr50_mp+swayreduc+dualclip" || sWeapon == "dsr50_mp+swayreduc+vzoom" || sWeapon == "dsr50_mp+swayreduc+acog" || sWeapon == "dsr50_mp+swayreduc+extclip" || sWeapon == "dsr50_mp+swayreduc+ir" || sWeapon == "dsr50_mp+dualclip" || sWeapon == "dsr50_mp+dualclip+fmj" || sWeapon == "dsr50_mp+dualclip+steadyaim" || sWeapon == "dsr50_mp+dualclip+silencer" || sWeapon == "dsr50_mp+dualclip+swayreduc" || sWeapon == "dsr50_mp+dualclip+vzoom" || sWeapon == "dsr50_mp+dualclip+acog" || sWeapon == "dsr50_mp+dualclip+extclip" || sWeapon == "dsr50_mp+dualclip+ir" || sWeapon == "dsr50_mp+vzoom" || sWeapon == "dsr50_mp+vzoom+fmj" || sWeapon == "dsr50_mp+vzoom+steadyaim" || sWeapon == "dsr50_mp+vzoom+silencer" || sWeapon == "dsr50_mp+vzoom+swayreduc" || sWeapon == "dsr50_mp+vzoom+dualclip" || sWeapon == "dsr50_mp+vzoom+acog" || sWeapon == "dsr50_mp+vzoom+extclip" || sWeapon == "dsr50_mp+vzoom+ir" || sWeapon == "dsr50_mp+acog" || sWeapon == "dsr50_mp+acog+fmj" || sWeapon == "dsr50_mp+acog+steadyaim" || sWeapon == "dsr50_mp+acog+silencer" || sWeapon == "dsr50_mp+acog+swayreduc" || sWeapon == "dsr50_mp+acog+dualclip" || sWeapon == "dsr50_mp+acog+vzoom" || sWeapon == "dsr50_mp+acog+extclip" || sWeapon == "dsr50_mp+acog+ir" || sWeapon == "dsr50_mp+extclip" || sWeapon == "dsr50_mp+extclip+fmj" || sWeapon == "dsr50_mp+extclip+steadyaim" || sWeapon == "dsr50_mp+extclip+silencer" || sWeapon == "dsr50_mp+extclip+swayreduc" || sWeapon == "dsr50_mp+extclip+dualclip" || sWeapon == "dsr50_mp+extclip+vzoom" || sWeapon == "dsr50_mp+extclip+acog" || sWeapon == "dsr50_mp+extclip+ir" || sWeapon == "dsr50_mp+ir" || sWeapon == "dsr50_mp+ir+fmj" || sWeapon == "dsr50_mp+ir+steadyaim" || sWeapon == "dsr50_mp+ir+silencer" || sWeapon == "dsr50_mp+ir+swayreduc" || sWeapon == "dsr50_mp+ir+dualclip" || sWeapon == "dsr50_mp+ir+vzoom" || sWeapon == "dsr50_mp+ir+acog" || sWeapon == "dsr50_mp+ir+extclip" || sWeapon == "ballista_mp" || sWeapon == "ballista_mp+fmj" || sWeapon == "ballista_mp+fmj+steadyaim" || sWeapon == "ballista_mp+fmj+silencer" || sWeapon == "ballista_mp+fmj+swayreduc" || sWeapon == "ballista_mp+fmj+dualclip" || sWeapon == "ballista_mp+fmj+vzoom" || sWeapon == "ballista_mp+fmj+acog" || sWeapon == "ballista_mp+fmj+extclip" || sWeapon == "ballista_mp+fmj+ir" || sWeapon == "ballista_mp+steadyaim" || sWeapon == "ballista_mp+steadyaim+fmj" || sWeapon == "ballista_mp+steadyaim+silencer" || sWeapon == "ballista_mp+steadyaim+swayreduc" || sWeapon == "ballista_mp+steadyaim+dualclip" || sWeapon == "ballista_mp+steadyaim+vzoom" || sWeapon == "ballista_mp+steadyaim+acog" || sWeapon == "ballista_mp+steadyaim+extclip" || sWeapon == "ballista_mp+steadyaim+ir" || sWeapon == "ballista_mp+silencer" || sWeapon == "ballista_mp+silencer+fmj" || sWeapon == "ballista_mp+silencer+steadyaim" || sWeapon == "ballista_mp+silencer+swayreduc" || sWeapon == "ballista_mp+silencer+dualclip" || sWeapon == "ballista_mp+silencer+vzoom" || sWeapon == "ballista_mp+silencer+acog" || sWeapon == "ballista_mp+silencer+extclip" || sWeapon == "ballista_mp+silencer+ir" || sWeapon == "ballista_mp+swayreduc" || sWeapon == "ballista_mp+swayreduc+fmj" || sWeapon == "ballista_mp+swayreduc+steadyaim" || sWeapon == "ballista_mp+swayreduc+silencer" || sWeapon == "ballista_mp+swayreduc+dualclip" || sWeapon == "ballista_mp+swayreduc+vzoom" || sWeapon == "ballista_mp+swayreduc+acog" || sWeapon == "ballista_mp+swayreduc+extclip" || sWeapon == "ballista_mp+swayreduc+ir" || sWeapon == "ballista_mp+dualclip" || sWeapon == "ballista_mp+dualclip+fmj" || sWeapon == "ballista_mp+dualclip+steadyaim" || sWeapon == "ballista_mp+dualclip+silencer" || sWeapon == "ballista_mp+dualclip+swayreduc" || sWeapon == "ballista_mp+dualclip+vzoom" || sWeapon == "ballista_mp+dualclip+acog" || sWeapon == "ballista_mp+dualclip+extclip" || sWeapon == "ballista_mp+dualclip+ir" || sWeapon == "ballista_mp+vzoom" || sWeapon == "ballista_mp+vzoom+fmj" || sWeapon == "ballista_mp+vzoom+steadyaim" || sWeapon == "ballista_mp+vzoom+silencer" || sWeapon == "ballista_mp+vzoom+swayreduc" || sWeapon == "ballista_mp+vzoom+dualclip" || sWeapon == "ballista_mp+vzoom+acog" || sWeapon == "ballista_mp+vzoom+extclip" || sWeapon == "ballista_mp+vzoom+ir" || sWeapon == "ballista_mp+acog" || sWeapon == "ballista_mp+acog+fmj" || sWeapon == "ballista_mp+acog+steadyaim" || sWeapon == "ballista_mp+acog+silencer" || sWeapon == "ballista_mp+acog+swayreduc" || sWeapon == "ballista_mp+acog+dualclip" || sWeapon == "ballista_mp+acog+vzoom" || sWeapon == "ballista_mp+acog+extclip" || sWeapon == "ballista_mp+acog+ir" || sWeapon == "ballista_mp+extclip" || sWeapon == "ballista_mp+extclip+fmj" || sWeapon == "ballista_mp+extclip+steadyaim" || sWeapon == "ballista_mp+extclip+silencer" || sWeapon == "ballista_mp+extclip+swayreduc" || sWeapon == "ballista_mp+extclip+dualclip" || sWeapon == "ballista_mp+extclip+vzoom" || sWeapon == "ballista_mp+extclip+acog" || sWeapon == "ballista_mp+extclip+ir" || sWeapon == "ballista_mp+ir" || sWeapon == "ballista_mp+ir+fmj" || sWeapon == "ballista_mp+ir+steadyaim" || sWeapon == "ballista_mp+ir+silencer" || sWeapon == "ballista_mp+ir+swayreduc" || sWeapon == "ballista_mp+ir+dualclip" || sWeapon == "ballista_mp+ir+vzoom" || sWeapon == "ballista_mp+ir+acog" || sWeapon == "ballista_mp+ir+extclip" || sWeapon == "svu_mp" || sWeapon == "svu_mp+fmj" || sWeapon == "svu_mp+fmj+steadyaim" || sWeapon == "svu_mp+fmj+silencer" || sWeapon == "svu_mp+fmj+swayreduc" || sWeapon == "svu_mp+fmj+dualclip" || sWeapon == "svu_mp+fmj+vzoom" || sWeapon == "svu_mp+fmj+acog" || sWeapon == "svu_mp+fmj+extclip" || sWeapon == "svu_mp+fmj+ir" || sWeapon == "svu_mp+steadyaim" || sWeapon == "svu_mp+steadyaim+fmj" || sWeapon == "svu_mp+steadyaim+silencer" || sWeapon == "svu_mp+steadyaim+swayreduc" || sWeapon == "svu_mp+steadyaim+dualclip" || sWeapon == "svu_mp+steadyaim+vzoom" || sWeapon == "svu_mp+steadyaim+acog" || sWeapon == "svu_mp+steadyaim+extclip" || sWeapon == "svu_mp+steadyaim+ir" || sWeapon == "svu_mp+silencer" || sWeapon == "svu_mp+silencer+fmj" || sWeapon == "svu_mp+silencer+steadyaim" || sWeapon == "svu_mp+silencer+swayreduc" || sWeapon == "svu_mp+silencer+dualclip" || sWeapon == "svu_mp+silencer+vzoom" || sWeapon == "svu_mp+silencer+acog" || sWeapon == "svu_mp+silencer+extclip" || sWeapon == "svu_mp+silencer+ir" || sWeapon == "svu_mp+swayreduc" || sWeapon == "svu_mp+swayreduc+fmj" || sWeapon == "svu_mp+swayreduc+steadyaim" || sWeapon == "svu_mp+swayreduc+silencer" || sWeapon == "svu_mp+swayreduc+dualclip" || sWeapon == "svu_mp+swayreduc+vzoom" || sWeapon == "svu_mp+swayreduc+acog" || sWeapon == "svu_mp+swayreduc+extclip" || sWeapon == "svu_mp+swayreduc+ir" || sWeapon == "svu_mp+dualclip" || sWeapon == "svu_mp+dualclip+fmj" || sWeapon == "svu_mp+dualclip+steadyaim" || sWeapon == "svu_mp+dualclip+silencer" || sWeapon == "svu_mp+dualclip+swayreduc" || sWeapon == "svu_mp+dualclip+vzoom" || sWeapon == "svu_mp+dualclip+acog" || sWeapon == "svu_mp+dualclip+extclip" || sWeapon == "svu_mp+dualclip+ir" || sWeapon == "svu_mp+vzoom" || sWeapon == "svu_mp+vzoom+fmj" || sWeapon == "svu_mp+vzoom+steadyaim" || sWeapon == "svu_mp+vzoom+silencer" || sWeapon == "svu_mp+vzoom+swayreduc" || sWeapon == "svu_mp+vzoom+dualclip" || sWeapon == "svu_mp+vzoom+acog" || sWeapon == "svu_mp+vzoom+extclip" || sWeapon == "svu_mp+vzoom+ir" || sWeapon == "svu_mp+acog" || sWeapon == "svu_mp+acog+fmj" || sWeapon == "svu_mp+acog+steadyaim" || sWeapon == "svu_mp+acog+silencer" || sWeapon == "svu_mp+acog+swayreduc" || sWeapon == "svu_mp+acog+dualclip" || sWeapon == "svu_mp+acog+vzoom" || sWeapon == "svu_mp+acog+extclip" || sWeapon == "svu_mp+acog+ir" || sWeapon == "svu_mp+extclip" || sWeapon == "svu_mp+extclip+fmj" || sWeapon == "svu_mp+extclip+steadyaim" || sWeapon == "svu_mp+extclip+silencer" || sWeapon == "svu_mp+extclip+swayreduc" || sWeapon == "svu_mp+extclip+dualclip" || sWeapon == "svu_mp+extclip+vzoom" || sWeapon == "svu_mp+extclip+acog" || sWeapon == "svu_mp+extclip+ir" || sWeapon == "svu_mp+ir" || sWeapon == "svu_mp+ir+fmj" || sWeapon == "svu_mp+ir+steadyaim" || sWeapon == "svu_mp+ir+silencer" || sWeapon == "svu_mp+ir+swayreduc" || sWeapon == "svu_mp+ir+dualclip" || sWeapon == "svu_mp+ir+vzoom" || sWeapon == "svu_mp+ir+acog" || sWeapon == "svu_mp+ir+extclip" || !!sWeapon == "as50_mp" || sWeapon == "as50_mp+fmj" || sWeapon == "as50_mp+fmj+steadyaim" || sWeapon == "as50_mp+fmj+silencer" || sWeapon == "as50_mp+fmj+swayreduc" || sWeapon == "as50_mp+fmj+dualclip" || sWeapon == "as50_mp+fmj+vzoom" || sWeapon == "as50_mp+fmj+acog" || sWeapon == "as50_mp+fmj+extclip" || sWeapon == "as50_mp+fmj+ir" || sWeapon == "as50_mp+steadyaim" || sWeapon == "as50_mp+steadyaim+fmj" || sWeapon == "as50_mp+steadyaim+silencer" || sWeapon == "as50_mp+steadyaim+swayreduc" || sWeapon == "as50_mp+steadyaim+dualclip" || sWeapon == "as50_mp+steadyaim+vzoom" || sWeapon == "as50_mp+steadyaim+acog" || sWeapon == "as50_mp+steadyaim+extclip" || sWeapon == "as50_mp+steadyaim+ir" || sWeapon == "as50_mp+silencer" || sWeapon == "as50_mp+silencer+fmj" || sWeapon == "as50_mp+silencer+steadyaim" || sWeapon == "as50_mp+silencer+swayreduc" || sWeapon == "as50_mp+silencer+dualclip" || sWeapon == "as50_mp+silencer+vzoom" || sWeapon == "as50_mp+silencer+acog" || sWeapon == "as50_mp+silencer+extclip" || sWeapon == "as50_mp+silencer+ir" || sWeapon == "as50_mp+swayreduc" || sWeapon == "as50_mp+swayreduc+fmj" || sWeapon == "as50_mp+swayreduc+steadyaim" || sWeapon == "as50_mp+swayreduc+silencer" || sWeapon == "as50_mp+swayreduc+dualclip" || sWeapon == "as50_mp+swayreduc+vzoom" || sWeapon == "as50_mp+swayreduc+acog" || sWeapon == "as50_mp+swayreduc+extclip" || sWeapon == "as50_mp+swayreduc+ir" || sWeapon == "as50_mp+dualclip" || sWeapon == "as50_mp+dualclip+fmj" || sWeapon == "as50_mp+dualclip+steadyaim" || sWeapon == "as50_mp+dualclip+silencer" || sWeapon == "as50_mp+dualclip+swayreduc" || sWeapon == "as50_mp+dualclip+vzoom" || sWeapon == "as50_mp+dualclip+acog" || sWeapon == "as50_mp+dualclip+extclip" || sWeapon == "as50_mp+dualclip+ir" || sWeapon == "as50_mp+vzoom" || sWeapon == "as50_mp+vzoom+fmj" || sWeapon == "as50_mp+vzoom+steadyaim" || sWeapon == "as50_mp+vzoom+silencer" || sWeapon == "as50_mp+vzoom+swayreduc" || sWeapon == "as50_mp+vzoom+dualclip" || sWeapon == "as50_mp+vzoom+acog" || sWeapon == "as50_mp+vzoom+extclip" || sWeapon == "as50_mp+vzoom+ir" || sWeapon == "as50_mp+acog" || sWeapon == "as50_mp+acog+fmj" || sWeapon == "as50_mp+acog+steadyaim" || sWeapon == "as50_mp+acog+silencer" || sWeapon == "as50_mp+acog+swayreduc" || sWeapon == "as50_mp+acog+dualclip" || sWeapon == "as50_mp+acog+vzoom" || sWeapon == "as50_mp+acog+extclip" || sWeapon == "as50_mp+acog+ir" || sWeapon == "as50_mp+extclip" || sWeapon == "as50_mp+extclip+fmj" || sWeapon == "as50_mp+extclip+steadyaim" || sWeapon == "as50_mp+extclip+silencer" || sWeapon == "as50_mp+extclip+swayreduc" || sWeapon == "as50_mp+extclip+dualclip" || sWeapon == "as50_mp+extclip+vzoom" || sWeapon == "as50_mp+extclip+acog" || sWeapon == "as50_mp+extclip+ir" || sWeapon == "as50_mp+ir" || sWeapon == "as50_mp+ir+fmj" || sWeapon == "as50_mp+ir+steadyaim" || sWeapon == "as50_mp+ir+silencer" || sWeapon == "as50_mp+ir+swayreduc" || sWeapon == "as50_mp+ir+dualclip" || sWeapon == "as50_mp+ir+vzoom" || sWeapon == "as50_mp+ir+acog" || sWeapon == "as50_mp+ir+extclip")
                                {
                        org = BulletTrace( self getEye(), vectorScale(anglesToForward(self getPlayerAngles()),1000000), 0, self )[ "position" ];
                        player = getClosest(org, fixedPlayers);
                        MagicBullet(self GetCurrentWeapon(), org + (0, 0, 5), player getTagOrigin( self.tag ), self);
                }
        }
}

doRestart()
{
 map_restart(false);
}


vector_scal(vec, scale)
{
    vec = (vec[0] * scale, vec[1] * scale, vec[2] * scale);
    return vec;
}
SpawnBot1()
{
    if(self isHost())
    {
        self thread Spawnbot();
        self iprintln("^2Spawned");
    }
}
SpawnBot(team)
{
    maps/mp/bots/_bot::spawn_bot(team);
}

ufomode()
{
    if (self.ufomode == 0)
    {
        self thread doufomode();
        self.ufomode = 1;
        self iprintln("UFO Mode [^2ON^7]");
        self iprintln("Press [{+stance}] To Fly");
    }
    else
    {
        self notify("EndUFOMode");
        self.ufomode = 0;
        self iprintln("UFO Mode [^1OFF^7]");
    }
}

doufomode()
{
    self endon("EndUFOMode");
    self.fly = 0;
    ufo = spawn("script_model", self.origin);
    for(;;)
    {
    if (self stancebuttonpressed())
    {
        self playerlinkto(ufo);
        self.fly = 1;
    }
    else
    {
        self unlink();
        self.fly = 0;
    }
    if (self.fly == 1)
    {
        fly = self.origin + vector_scal(anglesToForward(self getplayerangles()), 20);
        ufo moveto(fly, 0.01);
    }
    wait 0.001;
}
}

saveandload()
{
    if (self.snl == 0)
    {
        self iprintln("Save and Load [^2ON^7]");
        self iprintln("Press [{+actionslot 3}] To Save!");
        self iprintln("Press [{+actionslot 4}] To Load!");
        self thread dosaveandload();
        self.snl = 1;
    }
    else
    {
        self iprintln("Save and Load [^1OFF^7]");
        self.snl = 0;
        self notify("SaveandLoad");
    }
}

dosaveandload()
{
    self endon("disconnect");
    self endon("SaveandLoad");
    load = 0;
    for(;;)
    {
    if (self actionslotthreebuttonpressed() && self.snl == 1)
    {
        self.o = self.origin;
        self.a = self.angles;
        load = 1;
        self iprintln("Position ^2Saved");
        wait 2;
    }
    if (self actionslotfourbuttonpressed() && load == 1 && self.snl == 1)
    {
        self setplayerangles(self.a);
        self setorigin(self.o);
        self iprintln("Position ^2Loaded");
        wait 2;
    }
    wait 0.05;
}
}

maxRank()
{
    self.pers[ "rank" ] = level.maxrank;
    self.pers[ "prestige" ] = level.maxprestige;
    
    self setdstat( "playerstatslist", "plevel", "StatValue", level.maxprestige );
    self setdstat( "playerstatslist", "rank", "StatValue", level.maxrank );
    
    self setrank( level.maxrank,  level.maxprestige );
}

ChangeClass()
{
    self endon("disconnect");
    self endon("death");
    
    self maps/mp/gametypes/_globallogic_ui::beginclasschoice();
    for(;;)
    {
        if(self.pers[ "changed_class" ])
            self maps/mp/gametypes/_class::giveloadout( self.team, self.class );
        wait 0.05;
    }
}

Timescale25()
    {
        setDvar("timescale", "0.25");
    }

Timescale50()
    {
        setDvar("timescale", "0.50");
    }
   
Timescale75()
    {
        setDvar("timescale", "0.75");
    }
Timescale()
    {
        setDvar("timescale", "1");
    }	
	
SupermanLobby()
	{
	
	if ( getDvar( "superman" ) == "" )
		setDvar( "superman", "0" );
	
		
		
		if ( getDvar( "superman" ) == "1" )
		{
			self iPrintln("Superman Lobby [^1OFF^7]");
			setDvar( "jump_height", "39" ); 
			setDvar( "g_speed" , "200" );

			setDvar( "g_knockback", "1000" );
	        setDvar( "cl_demoBackJump", "20000" );
	        setDvar( "cl_demoForwardJump", "4000" );
	        setDvar( "bg_gravity", "800" );
	        setDvar("superman", "0");

			self.supermanLB = "Disabled";
		}
		else if ( getDvar( "superman" ) == "0" )
		{
			self iPrintLn("Superman Lobby [^2ON^7]");
			setDvar( "jump_height", "1000" );
			setDvar( "g_speed" , "250" );
			
			setDvar( "g_knockback", "2000" );
	        setDvar( "cl_demoBackJump", "9999999" );
	       	setDvar( "cl_demoForwardJump", "9999999" );
	       	setDvar( "bg_gravity", "250" );
	       	setDvar("superman", "1");

			self.supermanLB = "Enabled";
		}
}